#ifndef _RESULT_H
#define _RESULT_H
#include <fstream>
#include "GlobalDefines.h"
#include "Excitation.h"
#include "Geometry.h"

class Result
{
public:
	Result(){};
	~Result(){};
};
class RCS:public Result
{
public:
	RCS(MoM_Geometry* geo, PlaneWave* ex, real_data thetas, real_data thetae, int thetan, real_data phis, real_data phie, int phin, int polartype)
		:Geo(geo),Ex(ex),Theta_Start(thetas),Theta_End(thetae),Theta_Num(thetan),Phi_Start(phis),Phi_End(phie),Phi_Num(phin),Polar_Type(polartype){};
	~RCS(){};
	bool GetResults();
private:
	real_data Farfld(real_data theta, real_data phi, int PolarType);

	int IGetN3(int Pat, int Node1, int Node2)
	{
		return Geo->Patch(Pat)[0]+Geo->Patch(Pat)[1]+Geo->Patch(Pat)[2]-Node1-Node2;
	}
private:
	real_data Theta_Start, Theta_End, Phi_Start, Phi_End;
	int Theta_Num, Phi_Num, Polar_Type;
	PlaneWave* Ex;
	MoM_Geometry* Geo;
};
#endif